home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Desktop Improver / ScreenMaster / ScreenMaster.install < prev    next >
Text File  |  1996-09-26  |  11KB  |  468 lines

  1. ; *************************************************************************
  2. ; *******************  SCREENMASTER INSTALLATION SCRIPT  ******************
  3. ; *************************************************************************
  4. ;
  5. ; $VER: ScreenMaster.install 1.0 (10.12.95)
  6. ;
  7. ; Copyright ©1995 Nick Christie
  8. ;
  9. ; *************************************************************************
  10. ;
  11. ; Find out about program version, etc
  12.  
  13. (set @default-dest "RAM:")
  14.  
  15. (set catsdir "Locale:Catalogs")
  16.  
  17. (set defmasterdir "SYS:Utilities")
  18. (set defdaemondir "SYS:WBStartup")
  19. (set defbackerdir "SYS:WBStartup")
  20. (set defmenueddir "SYS:Utilities")
  21. (set defguidedir  "Help:")
  22.  
  23. (set masterbguiprog "Programs/BGUI/ScreenMaster")
  24. (set mastermuiprog "Programs/MUI/ScreenMaster")
  25. (set daemonprog "Programs/ScreenDaemon")
  26. (set backerprog "Programs/ScreenBacker")
  27. (set menuedbguiprog "Programs/BGUI/ScreenMenuEd")
  28. (set menuedmuiprog "Programs/MUI/ScreenMenuEd")
  29.  
  30. (set masterguide "Docs/ScreenMaster.guide")
  31. (set daemonguide "Docs/ScreenDaemon.guide")
  32. (set backerguide "Docs/ScreenBacker.guide")
  33. (set menuedguide "Docs/ScreenMenuEd.guide")
  34.  
  35. (set masterdeficon "Icons/def_ScreenMaster.info")
  36. (set menueddeficon "Icons/def_ScreenMenuEd.info")
  37.  
  38. (set vernum-sm (getversion masterbguiprog))
  39. (set ver-sm    (/ vernum-sm 65536))
  40. (set rev-sm    (- vernum-sm (* ver-sm 65536) ) )
  41.  
  42. ; if novice user-level, bump up to average
  43. (if (= 0 @user-level)
  44.     (
  45.     (set @user-level 1)
  46.     (user 1)
  47.     )
  48. )
  49.  
  50. (set old-user-level @user-level)
  51.  
  52. ; ************************************************************************
  53. ; English strings
  54. ; ************************************************************************
  55.  
  56. (set #yes-msg "Yes")
  57.  
  58. (set #no-msg "No")
  59.  
  60. (set #bad-kick-msg "ScreenMaster requires AmigaOS 2.04 or better!")
  61.  
  62. (set #hello-msg
  63.     (cat
  64.         ("Welcome to ScreenMaster V%ld.%ld\n\n" ver-sm rev-sm)
  65.         "This script will install ScreenMaster and "
  66.         "related files on your Amiga.\n\n"
  67.         "You will need to answer a few questions such as "
  68.         "where you would like the program installed.\n\n"
  69.         "If you do not wish to install ScreenMaster at this time, "
  70.         "select the 'Abort Install' button now. "
  71.     )
  72. )
  73.  
  74. (set #which-gui-msg
  75.     (cat
  76.         "ScreenMaster and ScreenMenuEd are provided in both MUI and "
  77.         "BGUI versions.\nWhich version do you wish to install?\n"
  78.     )
  79. )
  80.  
  81. (set #which-gui-help
  82.     (cat
  83.         "Simply select one of GUI systems indicated.\n"
  84.         "Versions of ScreenMaster and ScreenMenuEd built "
  85.         "for that GUI system will be installed."
  86.     )
  87. )
  88.  
  89. (set #prog-askdir-msg "Select the directory to install %s in.")
  90.  
  91. (set #guide-ask-msg
  92.     (cat
  93.         "\nInstall ScreenMaster documentation?\n\n"
  94.         "(These are AmigaGuide files, and you will be asked "
  95.         "for the directory in which to install them.)"
  96.     )
  97. )
  98.  
  99. (set #guide-askdir-msg
  100.     "Please select the directory to install the guides in."
  101. )
  102.  
  103. (set #guide-help
  104.     (cat
  105.         "AmigaGuide is the Amiga's standard hypertext format.\n\n"
  106.         "If you have AmigaOS 3.0 or better, you can use MultiView "
  107.         "to read this documentation, otherwise you must use the AmigaGuide "
  108.         "program, which is available on AmiNet and Fred Fish disk #870.\n\n"
  109.         "Both of these viewer programs have a 'search path', a set "
  110.         "of directories they search for AmigaGuide documents. "
  111.         "You should place this guide somewhere in that path."
  112.     )
  113. )
  114.  
  115. (set #locale-msg
  116.     (cat
  117.         "\ScreenMaster is localized, which means you may use "
  118.         "the program in several different languages. "
  119.         "Please choose your preferred languages.\n"
  120.     )
  121. )
  122.  
  123. (set #locale-help
  124.     (cat
  125.         "These are the languages supported by ScreenMaster.\n\n"
  126.         "Simply specify the languages you prefer and the "
  127.         "required catalog files will be copied to the "
  128.         "Locale:Catalogs directory.\n\nEnglish is built-in "
  129.         "and does not require a catalog file."
  130.     )
  131. )
  132.  
  133. ; ************************************************************************
  134. ; xxxx strings - template for other languages
  135. ; ************************************************************************
  136.  
  137. (if (= @language "xxxx")
  138.     (
  139.     (set #yes-msg "Yes")
  140.  
  141.     (set #no-msg "No")
  142.  
  143.     (set #bad-kick-msg "ScreenMaster requires AmigaOS 2.04 or better!")
  144.  
  145.     (set #hello-msg
  146.         (cat
  147.             ("Welcome to ScreenMaster V%ld.%ld\n\n" ver-sm rev-sm)
  148.             "This script will install ScreenMaster and "
  149.             "related files on your Amiga.\n\n"
  150.             "You will need to answer a few questions such as "
  151.             "where you would like the program installed.\n\n"
  152.             "If you do not wish to install ScreenMaster at this time, "
  153.             "select the 'Abort Install' button now. "
  154.         )
  155.     )
  156.  
  157.     (set #which-gui-msg
  158.         (cat
  159.             "ScreenMaster and ScreenMenuEd are provided in both MUI and "
  160.             "BGUI versions.\nWhich version do you wish to install?\n"
  161.         )
  162.     )
  163.  
  164.     (set #which-gui-help
  165.         (cat
  166.             "Simply select one of GUI systems indicated.\n"
  167.             "Versions of ScreenMaster and ScreenMenuEd built "
  168.             "for that GUI system will be installed."
  169.         )
  170.     )
  171.  
  172.     (set #prog-askdir-msg "Select the directory to install %s in.")
  173.  
  174.     (set #guide-ask-msg
  175.         (cat
  176.             "\nInstall ScreenMaster documentation?\n\n"
  177.             "(These are AmigaGuide files, and you will be asked "
  178.             "for the directory in which to install them.)"
  179.         )
  180.     )
  181.  
  182.     (set #guide-askdir-msg
  183.         "Please select the directory to install the guides in."
  184.     )
  185.  
  186.     (set #guide-help
  187.         (cat
  188.             "AmigaGuide is the Amiga's standard hypertext format.\n\n"
  189.             "If you have AmigaOS 3.0 or better, you can use MultiView "
  190.             "to read this documentation, otherwise you must use the AmigaGuide "
  191.             "program, which is available on AmiNet and Fred Fish disk #870.\n\n"
  192.             "Both of these viewer programs have a 'search path', a set "
  193.             "of directories they search for AmigaGuide documents. "
  194.             "You should place this guide somewhere in that path."
  195.         )
  196.     )
  197.  
  198.     (set #locale-msg
  199.         (cat
  200.             "\ScreenMaster is localized, which means you may use "
  201.             "the program in several different languages. "
  202.             "Please choose your preferred languages.\n"
  203.         )
  204.     )
  205.  
  206.     (set #locale-help
  207.         (cat
  208.             "These are the languages supported by ScreenMaster.\n\n"
  209.             "Simply specify the languages you prefer and the "
  210.             "required catalog files will be copied to the "
  211.             "Locale:Catalogs directory.\n\nEnglish is built-in "
  212.             "and does not require a catalog file."
  213.         )
  214.     )
  215.  
  216.     ) ; endif xxxx language
  217. )
  218.  
  219. ; ************************************************************************
  220. ; Begin actual installation
  221. ; ************************************************************************
  222.  
  223. ; Check for KickV37 or better
  224.  
  225. (if (< (/ (getversion) 65536) 37)
  226.     (
  227.     (abort #bad-kick-msg)
  228.     )
  229. )
  230.  
  231. ; ------------------------------------------------------------------------
  232. ; Show welcome msg
  233.  
  234. (user 2)
  235. (message #hello-msg)
  236. (user old-user-level)
  237.  
  238. ; ------------------------------------------------------------------------
  239. ; Ask user which GUI system to use.
  240.  
  241. (set gui
  242.     (askchoice
  243.         (prompt #which-gui-msg)
  244.         (help #which-gui-help)
  245.         (choices "BGUI" "MUI")
  246.     )
  247. )
  248.  
  249. (if (= 0 gui)
  250.     ; then
  251.     (
  252.     (set masterprog masterbguiprog)
  253.     (set menuedprog menuedbguiprog)
  254.     )
  255.     ; else
  256.     (
  257.     (set masterprog mastermuiprog)
  258.     (set menuedprog menuedmuiprog)
  259.     )
  260. )
  261.  
  262. ; ------------------------------------------------------------------------
  263. ; Ask the user where we should install ScreenMaster.
  264.  
  265. (if (
  266.     (set masterdir
  267.         (askdir
  268.             (prompt (#prog-askdir-msg "ScreenMaster"))
  269.             (help @askdir-help)
  270.             (default defmasterdir)
  271.         )
  272.     )
  273.     )
  274.     ; then
  275.     (
  276.     (copyfiles (source masterprog) (dest masterdir) (infos))
  277.     (copyfiles (source masterdeficon) (dest masterdir))
  278.     (tooltype (dest (tackon masterdir "ScreenMaster")) (noposition))
  279.     (set @default-dest masterdir)
  280.     )
  281. )
  282.  
  283. ; ------------------------------------------------------------------------
  284. ; Ask the user where we should install ScreenDaemon.
  285.  
  286. (if (
  287.     (set daemondir
  288.         (askdir
  289.             (prompt (#prog-askdir-msg "ScreenDaemon"))
  290.             (help @askdir-help)
  291.             (default defdaemondir)
  292.         )
  293.     )
  294.     )
  295.     ; then
  296.     (
  297.     (copyfiles (source daemonprog) (dest daemondir) (infos))
  298.     (tooltype (dest (tackon daemondir "ScreenDaemon")) (noposition))
  299.  
  300.     (if (masterdir)
  301.         ; then
  302.         (
  303.         (tooltype
  304.             (dest (tackon daemondir "ScreenDaemon"))
  305.             (settooltype "MASTER" (tackon masterdir "ScreenMaster"))
  306.         )
  307.         (tooltype
  308.             (dest (tackon masterdir "ScreenMaster"))
  309.             (settooltype "DAEMON" (tackon daemondir "ScreenDaemon"))
  310.         )
  311.         )
  312.     )
  313.     )
  314. )
  315.  
  316. ; ------------------------------------------------------------------------
  317. ; Ask the user where we should install ScreenBacker.
  318.  
  319. (if (
  320.     (set backerdir
  321.         (askdir
  322.             (prompt (#prog-askdir-msg "ScreenBacker"))
  323.             (help @askdir-help)
  324.             (default defbackerdir)
  325.         )
  326.     )
  327.     )
  328.     ; then
  329.     (
  330.     (copyfiles (source backerprog) (dest backerdir) (infos))
  331.     (tooltype (dest (tackon backerdir "ScreenBacker")) (noposition))
  332.  
  333.     (if (masterdir)
  334.         ; then
  335.         (
  336.         (tooltype
  337.             (dest (tackon backerdir "ScreenBacker"))
  338.             (settooltype "MASTER" (tackon masterdir "ScreenMaster"))
  339.         )
  340.         (tooltype
  341.             (dest (tackon masterdir "ScreenMaster"))
  342.             (settooltype "BACKER" (tackon backerdir "ScreenBacker"))
  343.         )
  344.         )
  345.     )
  346.     )
  347. )
  348.  
  349. ; ------------------------------------------------------------------------
  350. ; Ask the user where we should install ScreenMenuEd.
  351.  
  352. (if (
  353.     (set menueddir
  354.         (askdir
  355.             (prompt (#prog-askdir-msg "ScreenMenuEd"))
  356.             (help @askdir-help)
  357.             (default defmenueddir)
  358.         )
  359.     )
  360.     )
  361.     ; then
  362.     (
  363.     (copyfiles (source menuedprog) (dest menueddir) (infos))
  364.     (tooltype (dest (tackon menueddir "ScreenMenuEd")) (noposition))
  365.     (copyfiles (source menueddeficon) (dest menueddir))
  366.     )
  367. )
  368.  
  369. ; ------------------------------------------------------------------------
  370. ; Ask the user which guides to install.
  371.  
  372. (set guidemask
  373.     (askoptions
  374.         (prompt #guide-ask-msg)
  375.         (help #guide-help)
  376.         (choices "ScreenMaster" "ScreenDaemon" "ScreenBacker" "ScreenMenuEd")
  377.     )
  378. )
  379.  
  380. ; ------------------------------------------------------------------------
  381. ; If any guides selected, ask which directory & install them there.
  382.  
  383. (if (<> 0 guidemask)
  384.     ; then
  385.     (
  386.     (set guidedir
  387.         (askdir
  388.             (prompt #guide-askdir-msg)
  389.             (help @askdir-help)
  390.             (default defguidedir)
  391.         )
  392.     )
  393.  
  394.     (if (in guidemask 0)
  395.         (
  396.         (copyfiles (source masterguide) (dest guidedir) (infos))
  397.         )
  398.     )
  399.  
  400.     (if (in guidemask 1)
  401.         (
  402.         (copyfiles (source daemonguide) (dest guidedir) (infos))
  403.         )
  404.     )
  405.  
  406.     (if (in guidemask 2)
  407.         (
  408.         (copyfiles (source backerguide) (dest guidedir) (infos))
  409.         )
  410.     )
  411.  
  412.     (if (in guidemask 3)
  413.         (
  414.         (copyfiles (source menuedguide) (dest guidedir) (infos))
  415.         )
  416.     )
  417.  
  418.     )
  419. )
  420.  
  421. ; ------------------------------------------------------------------------
  422. ; install catalog(s) - none available yet
  423. ;
  424. ;(if (exists "libs:locale.library")
  425. ;    (
  426. ;    (if (exists catsdir)
  427. ;        (
  428. ;        (user 2)     
  429. ;        (set lang
  430. ;            (askoptions
  431. ;                (prompt #locale-msg)
  432. ;                (help #locale-help)
  433. ;                (choices
  434. ;                    "Language"
  435. ;                )
  436. ;                (default 0)
  437. ;            )
  438. ;        )
  439. ;        (user old-user-level)
  440. ;        (set n 0)
  441. ;        (while
  442. ;            (set language
  443. ;                (select n
  444. ;                    "language"
  445. ;                    ""
  446. ;                )
  447. ;            )
  448. ;            (
  449. ;                (if (in lang n)
  450. ;                    (
  451. ;                    (makedir (cat catsdir "/" language))
  452. ;                    (copyfiles
  453. ;                        (source (cat "Catalogs/" language))
  454. ;                        (dest (cat catsdir "/" language))
  455. ;                        (all)
  456. ;                    )
  457. ;                    )
  458. ;                )
  459. ;                (set n (+ n 1))
  460. ;            )
  461. ;        ) ; endwhile pick language n
  462. ;        ) ; endthen
  463. ;    ) ; endif exists catsdir
  464. ;    ) ; endthen
  465. ;
  466. ;) ; endif exists locale lib
  467.  
  468.